Document retrieval typically includes a post-retrieval relevance ranking step. Traditional document retrieval may include retrieving a large set of documents, ranking the entire set of documents, and then presenting a limited number of documents based on relevancy rank. The ranking may depend, for example, on matches between search terms and document content, on numerical analysis of values like link scores, on term frequency, term position, term distance, and so on. This traditional type of document retrieval may sacrifice response time to improve both recall and precision.
Document retrieval typically also includes some form of search term relaxation to improve recall, sometimes at the expense of precision. Traditional relaxation includes stemming search terms, performing value relaxation (e.g., expanding a numeric range), performing structure relaxation, and so on. Traditional relaxation methods may also include rewriting a predicate into a more general predicate, rewriting a constant term into a more general constant, breaking a join dependency across literals in a query, and so on. However, this traditional type of relaxation may further sacrifice response time.